using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Microsoft.Xna.Framework;

namespace SiKuma.ScreenSystemLibrary
{
    public abstract class IntroScreen : GameScreen
    {
        public TimeSpan ScreenTime
        {
            get;
            set;
        }

        public override float ScreenAlpha
        {
            get
            {
                return base.TransitionPercent;
            }
        }

        public override bool AcceptsInput
        {
            get
            {
                return true;
            }
        }

        public abstract override void InitializeScreen();
        
        protected override void UpdateScreen(GameTime gameTime)
        {
            this.ScreenTime = this.ScreenTime.Subtract(gameTime.ElapsedGameTime);
            if (this.ScreenTime.TotalSeconds <= 0.0)
            {
                base.ExitScreen();
            }
        }
        
        protected abstract override void DrawScreen(GameTime gameTime);
    }
}
